package com.wangjie.prefixsum;

/**
 * @author jieshao
 * @date 2022/3/31 10:02
 */
public class PrefixSum {
    // 前缀和数组
    private int[] preSum;

    // 构造前缀和
    public PrefixSum(int[] num) {
        // preSum[0] = 0 便于计算累加和
        preSum = new int[num.length + 1];
        // 计算 num 的累加和
        for (int i = 1; i < preSum.length; i++) {
            preSum[i] = preSum[i - 1] + num[i - 1];
        }
    }

    // 查询闭区间 [i, j] 的累加和
    public int query(int i, int j) {
        return preSum[j + 1] - preSum[i];
    }
}